package com.ruoyi.report.service;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;

import com.ruoyi.report.domain.*;
import com.ruoyi.report.dto.DataObj;
import com.ruoyi.report.dto.FileGroupDTO;
import com.ruoyi.report.dto.ReportDataDTO;

/**
 * 采购计划Service接口
 *
 * @author ruoyi
 * @date 2024-10-12
 */
public interface IReportPlanService
{
    /**
     * 查询采购计划
     *
     * @param id 采购计划主键
     * @return 采购计划
     */
    public ReportPlan selectReportPlanById(Long id);

    /**
     * 查询采购计划列表
     *
     * @param reportPlan 采购计划
     * @return 采购计划集合
     */
    public List<ReportPlan> selectReportPlanList(ReportPlan reportPlan);

    /**
     * 新增采购计划
     *
     * @param reportPlan 采购计划
     * @return 结果
     */
    public int insertReportPlan(ReportPlan reportPlan);


    public int countCurrentMonthPlans();

    /**
     * 修改采购计划
     *
     * @param reportPlan 采购计划
     * @return 结果
     */
    public int updateReportPlan(ReportPlan reportPlan);

    /**
     * 批量删除采购计划
     *
     * @param ids 需要删除的采购计划主键集合
     * @return 结果
     */
    public int deleteReportPlanByIds(Long[] ids);

    /**
     * 删除采购计划信息
     *
     * @param id 采购计划主键
     * @return 结果
     */
    public int deleteReportPlanById(Long id);


    DaysDTO queryLasa7days();
    DaysDTO queryAli7days();
    DaysDTO queryLinzhi7days();

    DaysDTO queryRikaze7days();

    List<ExamScoreStatistics> getExamScoreStatistics();

    List<RefineryAllocation> getRefineryAllocations();

    DaysDTO queryPeisong7days();

    public List<ReportPlanInfo> selectReportPlanListInfo(ReportPlan reportPlan);

    ReportDataDTO queryLasaDaily(String date);


    ReportDataDTO queryLinzhiDaily(String date);

    ReportDataDTO queryRikazeDaily(String date);

    ReportDataDTO queryAliDaily(String date);

    ReportDataDTO queryPeisongzhongxinDaily(String date);


    DataObj screen(DataObj dataObj);

    List<FileGroupDTO> selectFileGroup();

}
